package com.xydtech.ecard.busi.mapper;

import com.xydtech.ecard.busi.domain.EcardApiBusiReportConfig;
import com.xydtech.ecard.busi.domain.EcardApiBusiReprotInfo;
import com.xydtech.ecard.busi.domain.EcardApiBusiReprotRecord;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片业务填报类型配置Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-09-25 下午1:42
 */
public interface EcardApiBusiReportConfigMapper {

    /**
     * 查询法人机构下业务填报类型配置列表
     * @param ecardBusiReportConfig
     * @return
     */
    List<EcardApiBusiReportConfig> getReportConfigList(EcardApiBusiReportConfig ecardBusiReportConfig);

    /**
     * 查询电子名片业务填报类型配置
     *
     * @param id
     * @return
     */
    EcardApiBusiReportConfig getReportConfigById(@Param("id") Long id);

    /**
     * 条件查询查询登录人名下的业务填报记录接口
     * @param busiReprotRecord
     * @return
     */
    List<EcardApiBusiReprotRecord> getMyBusiReportList(EcardApiBusiReprotRecord busiReprotRecord);

    /**
     * 条件查询查询登录人名下的业务列表接口
     * @param busiReprotRecord
     * @return
     */
    List<EcardApiBusiReprotRecord> getMyBusiReportInfo(EcardApiBusiReprotRecord busiReprotRecord);

    /**
     * 查询个人类业务详情
     * @param busiReprotInfo
     * @return
     */
    EcardApiBusiReprotInfo getMyBusiReportDetailByPerson(EcardApiBusiReprotInfo busiReprotInfo);

    /**
     * 查询绑卡类业务详情
     * @param busiReprotInfo
     * @return
     */
    EcardApiBusiReprotInfo getMyBusiReportDetailByCard(EcardApiBusiReprotInfo busiReprotInfo);

    /**
     * 查询对公类业务详情
     * @param busiReprotInfo
     * @return
     */
    EcardApiBusiReprotInfo getMyBusiReportDetailByPublic(EcardApiBusiReprotInfo busiReprotInfo);

    /**
     * 查询其他业务详情
     * @param busiReprotInfo
     * @return
     */
    EcardApiBusiReprotInfo getMyBusiReportDetailByOther(EcardApiBusiReprotInfo busiReprotInfo);
}
